הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

Σχετικά έγγραφα
לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

Logic and Set Theory for Comp. Sci.

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

מתמטיקה בדידה תרגול מס' 5

ל הזכויות שמורות לדפנה וסטרייך

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

אלגברה ליניארית (1) - תרגיל 6

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

חורף תש''ע פתרון בחינה סופית מועד א'

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

{ : Halts on every input}

תרגיל 13 משפטי רול ולגראנז הערות

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

gcd 24,15 = 3 3 =

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

x a x n D f (iii) x n a ,Cauchy

מודלים חישוביים תרגולמס 5

הגדרה: מצבים k -בני-הפרדה

תרגול מס' 6 פתרון מערכת משוואות ליניארית

אלגברה מודרנית פתרון שיעורי בית 6

תרגול פעולות מומצאות 3

תורת הקבוצות תרגיל בית 2 פתרונות

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

גבול ורציפות של פונקציה סקלרית שאלות נוספות

מתמטיקה בדידה תרגול מס' 13

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ).

אינפי - 1 תרגול בינואר 2012

אלגברה לינארית (1) - פתרון תרגיל 11

logn) = nlog. log(2n

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה.

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

תכנון דינאמי. , p p p והמטריצה המתקבלת היא בגודל

co ארזים 3 במרץ 2016

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;

סיכום- בעיות מינימוםמקסימום - שאלון 806

אוטומטים- תרגול 8 שפות חסרות הקשר

תוכן הפרק: ,best case, average case דוגמאות 1. זמן - נמדד באמצעות מס' פעולות סיבוכיות, דוגמאות, שיפור בפקטור קבוע האלגוריתם. וגודלם. איטרטיביים. לקלט.

מינימיזציה של DFA מינימיזציה של הקנוני שאותה ראינו בסעיף הקודם. בנוסף, נוכיח את יחידות האוטומט המינימלי בכך שנראה שכל אוטומט על ידי שינוי שמות

הרצאה תרגילים סמינר תורת המספרים, סמסטר אביב פרופ' יעקב ורשבסקי

מבני נתונים ואלגוריתמים תרגול #11

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

תרגול מס' 1 3 בנובמבר 2012

סדרות - תרגילים הכנה לבגרות 5 יח"ל

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

תורת הקבוצות בפברואר 2012 תקציר סיכום הרצאות של פרופסור רון לבנה בשנת לימודים 2012

טענה חשובה : העתקה לינארית הינה חד חד ערכית האפס ב- הוא הוקטור היחיד שמועתק לוקטור אפס של. נקבל מחד חד הערכיות כי בהכרח.

אלגוריתמים / תרגיל #1

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות.

מבוא ללוגיקה מתמטית 80423

תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית,

אלגברה א' - פתרונות לשיעורי הבית סמסטר חורף תשס"ט

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

אלגברה ליניארית 1 א' פתרון 7

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.

חשבון אינפיניטסימלי 1 סיכום הרצאות באוניברסיטה חיפה, חוג לסטטיסטיקה.

השאלות..h(k) = k mod m

מבני נתונים ויעילות אלגוריתמים

. {e M: x e} מתקיים = 1 x X Y

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS

תאריך עדכון אחרון: 27 בפברואר ניתוח לשיעורין analysis) (amortized הוא טכניקה לניתוח זמן ריצה לסדרת פעולות, אשר מאפשר קבלת

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר

ניתוח סיבוכיות - פונקציות רקורסיביות פיתוח טלסקופי

אלגברה ליניארית 1 א' פתרון 11

רשימת בעיות בסיבוכיות

הרצאה נושאי הקורס 0.2 א"ב ומילים 0.3 שפות 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן?

אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:

אלגוריתמים בתורת הגרפים חלק שני

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים

חשבון אינפיניטסימלי 1

xpy xry & ~yrx xiy xry & yrx

תוכן עניינים I בעיות מיון 2 1 סימון אסימפטוטי... 2 II מבני נתונים 20 8 מבני נתונים מופשטים משפט האב גרפים... 37

מתמטיקה בדידה תרגול מס' 12

ניתן לקבל אוטומט עבור השפה המבוקשת ע "י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות:

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

CHAIN MATRIX MULTIPLICATION וגיא בן-חורין

אלגברה ליניארית 1 א' פתרון 8

הגדרה 0.1 טיעון הוא תקף אם בכל פעם שההנחות נכונות גם המסקנה נכונה.

תורת הגרפים - סימונים

סיכום אינפי 2 19 ביוני 2010 מרצה: צביק איתמר, בעזרת סיכומים משיעוריו של נועם ברגר מתרגלים: ינאי ג', איב גודין

אלגברה לינארית 1 יובל קפלן

רשימת משפטים והגדרות

אלגוריתמים בתורת הגרפים חלק ראשון

Transcript:

אלגוריתמים חמדניים אלגוריתם חמדן, הוא כזה שבכל צעד עושה את הבחירה הטובה ביותר האפשרית, ולא מתחרט בהמשך גישה זו נראית פשטנית מדי, וכמובן שלא תמיד היא נכונה, אך במקרים רבים היא מוצאת פתרון אופטימאלי בתרגול זה נעסוק בפתרון בעיית בחירת הפעילויות ע"י גישה חמדנית בעיית הפעילויות:, ונתונים זמני ההתחלה והסיום שלהן, כאשר נתונה קבוצה של פעילויות : מציינים, בהתאמה, את זמן ההתחלה והסיום של הפעילות ה- -ית ו- הגדרה: שתי פעילויות אינן מתנגשות אם או אינטואיטיבית, הכוונה שזמני הפעילויות אינם חופפים למעט, אולי, רגע בודד שבו מסתיימת פעילות אחת -ומתחילה פעילות שנייה הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות אינן מתנגשות צריך למצוא: תת -קבוצה חוקית של פעילויות מתוך מקסימאלי של פעילויות( מקסימאלית בגודלה )תת -קבוצה בעלת מספר אבחנה: ייתכן כי יש יותר מקבוצה אחת כזאת נרצה להציג אלגוריתם חמדני שמוצא קבוצה חוקית מגודל מקסימאלי הבחירה החמדנית תבחר בכל שלב פעילות שאחרי בחירתה, משך הזמן שנשאר בכדי להמשיך ולשבץ בו פעילויות נוספות, הוא הארוך ביותר זוהי פעילות עם זמן סיום מוקדם ביותר נתחיל בהצגת פתרון איטראטיבי, ובהמשך נראה גם פתרון חמדני רקורסיבי אלגוריתם איטראטיבי האלגוריתם בונה קבוצת פעילויות, שהיא קבוצת הפעילויות הנבחרות בכל שלב נבחרת באופן חמדני פעילות אחת מתוך, שהיא קבוצת הפעילויות שמהן ניתן לבחור בתחילה ריקה ו- מכילה את כל הפעילויות עם כל בחירה, הפעילות שנבחרה נוספת ל - G ומ- S נמחקות כל הפעילויות שמתנגשות עם הפעילות שבחרנו, כך שלא תיבחר אחת מהן בהמשך While do: Return סכמה כללית מומלצת להוכחת נכונות )עבור אלגוריתמים חמדנים( בד"כ אלגוריתם חמדני בונה את הפתרון בשלבים כאשר בכל שלב הפתרון שהאלגוריתם בנה עד כה מוכל בפתרון אופטימאלי כלשהו בסוף ריצת האלגוריתם ערכו של הפתרון שהתקבל זהה לגודל הפתרון האופטימאלי ולכן הם שווים 1

הוכחת נכונות 1: )הועברה בהרצאה( אינטואיציה: נוכיח שבכל שלב של ריצת האלגוריתם מתקיים: קיים פתרון אופטימאלי המכיל את הקבוצה ( ) שהאלגוריתם בחר עד לאותה נקודה וכל שאר הפעילויות בו לקוחות מתוך קבוצת הפעילויות שנותרו לבחירה, ( S ) בהתחלה ריקה ומוכלת בכל פתרון בכל פעם שנוסיף ל- פעילות, יש להראות שעדיין קיים פתרון אופטימאלי המכיל את כלומר, יש להראות שכשמוסיפים ל - את הפעילות ה- -ית, קיים פתרון אופטימאלי המכיל את כל הפעילויות שנמצאות באותו רגע ב - נסתכל על, הפתרון שהובטח לנו כי הוא מכיל את הפעילויות הראשונות שבחרנו אם הוא מכיל גם את הפעילות ה- שבחרנו, סיימנו אם לא, נטען כי נוכל למצוא פתרון )אולי אחר( זהה בגודלו ל -, אשר מכיל את כל k האיברים הראשונים שבחרנו, וזאת ע"י החלפת איבר מסוים של )שאינו בין האיברים הקודמים( באיבר ה- שנוסף ל- טענה עיקרית: הקבוצה המוחזרת ע"י האלגוריתם היא קבוצת פעילויות חוקית מגודל מקסימאלי טענת עזר: בכל פעם שהאלגוריתם מגיע לבדיקת תנאי הלולאה קיימת קבוצה חוקית מגודל מקסימאלי של פעילויות מ- אשר מכילה את ושאר הפעילויות בה לקוחות מ- בלבד )כלומר: בסוף כל איטרציה מתקיים ) אבחנה: בכל פעם שמתווספת ל - פעילות, זוהי פעילות בעלת זמן סיום מינימאלי מבין כל הפעילויות ב- אשר אינה מתנגשת עם אף אחת מהפעילויות שנבחרו עד כה ב- )הסבר: הבחירה נעשית מתוך, ובכל הוספה קודמת של פעילות, הורדנו מ - את כל הפעילויות שמתנגשות עם אותה פעילות לכן מובטח לנו שכל בחירה תהיה מתוך קבוצת פעילויות שאינן מתנגשות עם אף פעילות שנבחרה בשלב קודם( הוכחת נכונות האלגוריתם: ראשית, נשים לב לכך שהאלגוריתם סופי- בכל איטרציה מוציאים מ- S לפחות פעילות אחת, ולכן בהכרח בשלב כלשהו יתקיים תנאי העצירה ( (, והאלגוריתם יסתיים לפי טענת העזר, קיימת קבוצת פעילויות חוקית מקסימאלית בגודלה המכילה את אשר מוחזרת בסיום האלגוריתם, ובפרט היא קבוצת פעילויות חוקית יתרה מזאת, בסיום הלולאה הקבוצה ריקה ולכן על פי טענת העזר אין ב- פעילויות נוספות 2

הוכחת טענת העזר: באינדוקציה על גודל הקבוצה, וכן מתקיים פעילויות - הקבוצה G המוחזקת ע"י האלגוריתם לאחר בחירת -ית שהאלגוריתם בחר - הפעילות ה- - קב' הפעילויות הנותרות, אחרי הורדת, ונסמנה נוכיח שקיימת קבוצה חוקית מקסימאלית המכילה את קבוצה חוקית מקסימלית המכילה את נסמן, אך יתכן ש- מתקיים נשים לב כי בעוד לכל סימונים: - - - הערה: לא להניח את קיומה של הקבוצה, צריך להוכיח את זה וכל קבוצה חוקית מגודל מקסימאלי מכילה את, עבור, ומתקיים אשר מכילה את נניח כי קיימת קבוצה חוקית מגודל מקסימאלי : וכי אשר מכילה את ונראה כי קיימת קבוצה חוקית מגודל מקסימאלי, ולכן, אזי אם - וגם : נשים לב ש נראה ש- הטענה מתקיימת יצא גם מ, כלומר האיבר היחיד שיצא מהקבוצה i k )אם לא קיימת פעילות המתנגשת עם, ובהכרח קיימת פעילות אחרת, - ( כעת נראה כי הקבוצה הייתה חוקית, בסתירה למקסימאליות של כזו, אזי : היא קבוצת פעילויות חוקית מגודל מקסימאלי אשר מכילה את אינן מתנגשות אחת עם השנייה, ולכן נותר להראות שכל הפעילויות ידוע כי כל הפעילויות ב- : אינן מתנגשות עם ב- לפי האבחנה כמו כן,, היא אינה מתנגשת עם אף פעילות ב- מכיוון ש- ] [ ] [, מתקיים מתנגשת עם וכיוון ש-, לפי ]2[ מתקיים אשר מקיימת לכל פעילות o לא מתנגשת עם ולכן אינן מתנגשות ו- : מכיוון ש- אשר מקיימת לכל פעילות o לפי האבחנה בהכרח מצירוף של ]1[ נובע כי ברור כי לא מתנגשת עם מכאן ש- ולכן בקלות ניתן לראות כי כיוון ש- עדיין מתקיים מאותם השיקולים כמו במקרה הקודם )עבור התנאי ש ) מקסימאלית ולכן כמו כן היא קבוצה חוקית המכילה את הראנו כי 3

הוכחת נכונות 2: סימונים: - הפתרון שהאלגוריתם החמדן החזיר עפ"י סדר הבחירה - פתרון אופטימאלי כלשהו הממוין עפ"י זמן סיום הפעילויות, כלומר אינטואיציה: בכל פעם אנו בוחרים בפעילות עם זמן הסיום המוקדם ביותר וכך מאפשרים ליותר פעילויות להתקיים בהמשך נוכיח כי הפעילות בקבוצת הפעילויות שהאלגוריתם מחזיר, מסתיימת לפני הפעילות בפתרון האופטימאלי טענה עיקרית: הקבוצה המוחזרת ע"י האלגוריתם היא קבוצת פעילויות חוקית מגודל מקסימאלי טענת עזר: לכל l, לא אחרי הפעילות ה- ז"א הפעילות ה- -ית בקבוצת הפעילויות -ית בפתרון האופטימאלי שהאלגוריתם מחזיר, מסתיימת הוכחת הטענה העיקרית: חוקיות: לאחר הוספת פעילות ל- כל הפעילויות המתנגשות עימה מוצאות מקבוצת הפעילויות הנותרות, לכן בכל פעם שמתווספת ל- פעילות מ- היא אינה מתנגשת עם אף אחת מהפעילויות שנבחרו עד כה ב- אופטימאליות: נשים לב כי כיוון ש- הוא פיתרון אופטימאלי, אזי מטענת העזר נובע כי כיוון שהפעילות היא האחרונה שהוסיף האלגוריתם החמדן, אזי אין אף פעילות בקלט שזמן ההתחלה שלה גדול מ- מכאן נובע שאין אף פעילות בקלט שמתחילה אחרי לכן היא הפעילות האחרונה ב- ולכן ולכן הוכחת טענת עזר באינדוקציה על : מסתיימת ראשונה מבין כל הפעילויות, ובפרט הפעילות בסיס: נוכיח כי צעד האינדוקציה: הנחת האינדוקציה היא )]1[ הנחת האינדוקציה ]2[ ] [ ] [ אינן חותכות, אזי היות וכל הפעילויות ב- זרות( נבחרת מכיוון בזמן ש- ולכן עדיין נמצאת ב- מתחילה אחרי סוף פעילות כלומר הפעילות )החמדן בוחר בכל צעד פעילות עם זמן סיום את פעילות שהאלגוריתם החמדן בחר בצעד ה- מינימאלי ב- ) S מתקיים כי הערה: זמן הריצה של האלגוריתם האיטראטיבי במימוש נאיבי הינו מימוש נאיבי של מציאת הינו Ω וישנן לכל היותר כאשר קריאות הינו מספר, שכן זמן 4

אלגוריתם רקורסיבי גם בגרסא הרקורסיבית נשתמש לצורך הבחירה החמדנית באותו קריטריון שבו השתמשנו בגרסא האיטראטיבית, כולל נגדיר כקבוצת הפעילויות ב - אשר מתנגשות עם פעילות עצמה A If o Return else o index of an activity in A with earliest finishing time o Return דוגמא: 2 ו- 5 ראו דוגמאת ריצה באתר בדוגמא זו הפתרון שיתקבל מהפעלת האלגוריתם האיטראטיבי יהיה קבוצה המכילה את פעילויות A הוכחת נכונות: טענה עיקרית: הפונקציה הרקורסיבית מחזירה תת -קבוצה חוקית של מקסימאלית בגודלה טענה 1: )נכונות הבחירה החמדנית( תהי קבוצת פעילויות לא ריקה תהי אזי קיימת קבוצה חוקית מקסימאלית הפעילות עם זמן סיום מוקדם ביותר ב- ביחס ל- ) ) המכילה את טענה 2: )נכונות מבנה הרקורסיה( תהי קבוצת פעילויות לא ריקה תהי, קבוצה חוקית מקסימאלית המכילה את הפעילות, אזי תת הפתרון הוא קבוצה חוקית מקסימאלית עבור בעיית הפעילויות מתוך הקבוצה )כל פעילות מתנגשת עם עצמה( אבחנה: הקבוצה אינה ריקה ולכן 5

הוכחת הטענה הראשית: באינדוקציה שלמה על גודל הקבוצה קטן בלפחות 1 לאחר כל צעד אנו משתמשים באינדוקציה שלמה כיוון שגודל הקבוצה (**), שהיא אכן קבוצה חוקית אז מוחזרת תנאי העצירה מתקיים כאשר -בסיס: צעדים סופית ובכל צעד היא קטנה ממש, לאחר לכל היותר מכיוון ש- מקסימאלית המוכלת ב - יתקיים תנאי זה :, ונוכיח עבור המקרה שבו כך ש- -צעד: נניח את נכונות הטענה עבור כל קלט ) את הפעילות שנבחרה ע"י האלגוריתם בשלב הנוכחי )בו נסמן ב- את הפלט של הקריאה הרקורסיבית עם הקלט נסמן ב- ) )אנו רוצים להוכיח את הטענה עבור תת הקבוצה המוחזרת בשורה האחרונה, קטן ממש בגודלו מ- A לכן לפי הנחת - חוקיות: מהאבחנה נובע כי הקלט כמו כן, מהגדרת היא תת -קבוצה חוקית מקסימאלית בגודלה של האינדוקציה, היא קבוצת, ולכן גם הקבוצה לא מתנגשת עם הפעילות, אף פעילות ב- פעילויות חוקית קיומה מובטח, המכילה את קב' פעילויות חוקית מקסימאלית, - מקסימאליות: נסמן ב- היא קבוצה חוקית מקסימאלית עבור בעיית הפעילויות מתוך עפ"י טענה 1 מטענה 2 נובע כי מגודל מקסימאלי עבור ו- שתי הקבוצות הקבוצה מקס' מטענה 2(, לכן גודלן שווה ולכן מקס' מהנחת האינדוקציה ו - ( לכן, מגודל מקסימאלי היא תת-קבוצה חוקית של נובע כי גם מהמקסימאליות של )סוף צעד האינדוקציה( מכילה את כל היא נכונה גם עבור השלב ההתחלתי, בו - מכיוון שטענת האינדוקציה הוכחה לכל מקסימאלית בגודלה הפעילויות לכן הפונקציה הרקורסיבית מחזירה תת -קבוצה חוקית של הוכחת טענה 1: אינה סיימנו אחרת מכילה את אם תת -קבוצה חוקית מקסימאלית של תהי ** הפעילות בעלת זמן הסיום המינימאלי מבין כל הפעילויות ב- P מכיוון תהי מכילה את בנוסף, לפי אופן מקיימת אינן מתנגשות, אז כל פעילות שהפעילויות ב- אינה, כלומר מתקיים בסה"כ, לכל, מתקיים בחירתה של, נישאר עם קבוצה ונכניס במקומה את, לכן אם נוציא את מתנגשת עם אף פעילות ב- חוקית שגודלה לא השתנה, כנדרש מגודל מקסימאלי, המכילה את היא תת-קבוצה של כלומר, 6

הוכחת טענה 2: קבוצה חוקית מקסימאלית המכילה את הפעילות תהי היא קבוצת פעילויות חוקית, הרי גם הקבוצה מכיוון ש- חוקיות: ואין ב- מכיוון ש- חוקית היא תת קבוצה חוקית של )פרט ל- x עצמה( לכן אינה מגודל מקסימאלי עבור מקסימאליות: נניח בשלילה כי כך ש- Q, תת-קבוצה חוקית של היא תת -קבוצה חוקית של B כמו כן,, ולכן אינה מתנגשת עם, בסתירה למקסימאליות של היא קבוצת פעילויות פעילויות שמתנגשות עם x, כלומר קיימת אף פעילות ב- הערה: האלגו' החמדן פועל בצורה דומה לאלגו' האיטראטיבי הראשון שראינו לכן זמן הריצה של האלגוריתם הרקורסיבי גם הוא כאשר הינו מספר הפעילויות הערה: שימו לב לתכונה הקיימת באלגוריתם החמדן: לאחר כל שלב באלגוריתם, קבוצת הפעילויות הנותרות קטנה ממש אנו נשארים עם בעיה קטנה יותר, הדומה לבעיה המקורית בשני האלגוריתמים שהוצגו עד כה תכונה זו נראית באופן ברור באלגוריתם הבא תכונה זו קיימת באופן חבוי נציין כי באופן כללי, באלגוריתמים חמדניים, תכונה זו תמיד קיימת מציאת לא חייבת להיעשות באופן מפורש ניתן לשפר את האלגוריתם באופן כזה שזמן הריצה יהיה קצר יותר, כפי שנראה מיד הגרסא הבאה של אלגוריתם Activity_Iter שקולה לגמרי לזו שראינו בגרסא זו אין מחשבים את באופן מפורש, אלא i חישוב() Collide נעשה למעשה ע"י כך שמכניסים פעילות ל - G רק אם היא אינה מתנגשת עם פעילות קודמת, כלומר אינה ב- Collide() i G עבור האינדקס i האחרון שנוסף ל- While do: o o o if then: Return : ניתוח זמן ריצה של האלגוריתם כדי לנתח את זמן הריצה של האלגוריתם, יש לענות על השאלה כיצד נאפשר בכל שלב את בחירתה של פעילות בעלת זמן סיום מינימאלי מבין כל אלו שעדיין לא נבדקו, באופן יעיל? פתרון אחד הוא לבצע מיון מקדים של כל הפעילויות ב- בסדר עולה של זמני סיום זה יוסיף לזמן הריצה מחובר של 7

פתרון שני, להשתמש בערימת -מינימום שבה המפתחות הם זמני הסיום של הקטעים בניית הערימה נעשית ב- פעולות, וכל שליפה דורשת פעולות, ובסה"כ עבור שליפות נזדקק ל- (n )O nlog פעולות בסה"כ גם שימוש בערימה יוסיף לזמן הריצה מחובר של פעמים, כאשר בכל פעם מתבצע מספר קבוע של פעולות, לכן זמן הרצת ( ) לכן מתקבל כי: מיון מקדים כנ"ל: תנאי הלולאה מתקיים בדיוק הלולאה: בסה"כ נקבל ההוכחה דומה מאוד להוכחות הקודמות הרעיון הוא שבהינתן פתרון אופטימלי נקח את הפעילות הראשונה ששונה מזאת ב- המוחזר ע"י האלגוריתם ומראים שניתן להחליף את הפעילויות ולהישאר עם פתרון חוקי האופטימליות נובעת מכך שגודל לא השתנה 8